/**
 * Clase HelloPersonnes
 */

import perso.*;

public class HelloPersonnes {
	/**
	* Methode main, entry point to the HelloPersonnes class
	* In the main method of the HelloPersonnes class, create a person, 
	* student and teacher and show their attributes (using the implemented getter methods) .
	* @param	args	input parameters from command line
	*/
	public static void main(String[] args) {
		System.out.println("Hola Personne");

		Personne[] tabPers = new Personne[3];
		
		System.out.println("Creacion de una Persona.");
		tabPers[0] = new Personne("Anaïs",22);

		System.out.println("Creacion de un Alumno.");
		tabPers[1]  = new Etudiant("Remy",21,20.0f);

		System.out.println("Creacion de un Profe.");
		tabPers[2]  = new Enseignant("Exposito",29,180);
		
		for (int i=0; i<tabPers.length; i++) {
		System.out.println(tabPers[i].toString());
		}
	}
}

/*
 * Questions d'examen: avez vous mis en place les concepts de:
 *
 *    Polymorphisme? Oui, ici Personne à plusieurs formes : Personne, Etudiant, Enseignant
 *    Liaison dynamique ? Oui, le bon toString est appelé en fonction de l'appelant
 *    Surcharge? Pas de surcharge, parce qu'on a pas réutilisé le même constructeur par exemple
 *    Redéfinition partielle ou totale? Redefinition partielle du toString() car appel à la classe supérieure
 */
